<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-04-28
 * Time: 17:15
 */
namespace MemberLogin;

/**
 * 依赖redis
 * 该class 在 系统验证完 账户密码等逻辑走完之后。
 * 调用 MemberLogin::doLogin($username ,$uid) 之后 会生成 一个不可逆的 token 分别存入 cookie 和 redis （两者的过期时间一致）
 * 算法 md5 ( md5( realip . username . uid ) .salt )
 * 用户携带 cookie 访问的时候 把cookie 的 token 和 redis 里面的 token 对比。
 * 一致 则 保持登录，
 * 匹配不到 redis 的 token 的时候 则会 执行 withOotToken 回调函数 清空 cookie 和 redis session里面的数据 清除登录
 * 多应用单点登录 （未完善）
 * 使用 setApp @param array() 传入 每个应用的 接收api URL 的地址
 * 系统会自动将 token 分发到每个子应用。子应用接收到 token + Api_Auth_Key（这个key 的生成 可以在 添加子应用的生成） ，拿到token 去 redis 里面 存的 token 对比，一致 则 保持登录。
 *
 *
 */

use think\facade\Request;


/**
 * Class MemberLogin
 * @package MemberLogin
 */
class MemberLogin
{

    /*
     * 获取真实ip
     */
    private function getIp(){
        return Request::ip(0,true);
    }
}